System and method for closed loop controlled inspired oxygen concentration

ABSTRACT

A system and method for delivering fractionally inspired oxygen (FiO 2 ) to a patient in response to receiving an arterial hemoglobin oxygen saturation signal (SpO 2 ) are disclosed. The SpO 2  is measured, for example, by using a pulse oximeter. An algorithm receives a signal indicating the SpO 2 . The algorithm determines wither the SpO 2  is in the normoxemia range, hypoxemia range or hyperoxemia range. The algorithm also determines trends by calculating a slope of second-to-second changes in the SpO 2 . Based on the current SpO 2  and the trend, the algorithm determines the appropriate FiO 2  for the patient and instructs a device, such as a mechanical ventilator or an air oxygen mixer as to the appropriate FiO 2  to be delivered to the patient. The system initializes various parameters with default values, but a user (e.g., a nurse) can also update the settings at any time. The system also provides alerts for various conditions, for example, standard pulse oximeter alarms, as well as notification when an episode of hyperoxemia or hypoxemia occurs, when it lasts for more than a specified period of time (e.g., two minutes) in spite of FiO 2  adjustments and when the adjustments set the FiO 2  at certain levels. The user is also alerted when SpO 2  signal is lost.

STATEMENT RE: FEDERALLY SPONSORED RESEARCH/DEVELOPMENT

[0001] (Not Applicable)

CROSS REFERENCE TO RELATED APPLICATIONS

[0002] (Not Applicable)

BACKGROUND OF THE INVENTION

[0003] The present invention relates generally to oxygen deliverysystems and more particularly to a closed loop system and method forautomatically delivering fractionally inspired oxygen (FiO₂).

[0004] Very low birth weight infants often present with episodes ofhypoxemia. These episodes are detected by arterial oxygen saturationmonitoring by pulse oximetry (SpO₂) and are usually assisted with atransient increase in the fraction of inspired oxygen (FiO₂).

[0005] Given the rapid onset and frequency at which most of theseepisodes of hypoxemia occur, maintaining SpO₂ within a normal range bymanual FiO₂ adjustment during each episode is a difficult andtime-consuming task. Nurses and respiratory therapists respond tohigh/low SpO₂ alarms. Under routine clinical conditions, the responsetime is variable and the FiO₂ adjustment is not well defined. Thisexposes the infants to periods of hypoxemia and hyperoxemia which mayincrease the risk of neonatal chronic lung disease and retinopathy ofprematurity.

[0006] Thus, a need exists for a system that car. automatically adjustFiO₂. Prior art systems exist which automatically adjusts FiO₂. Suchsystems have had positive results. However, existing systems fail torespond to rapid SpO₂ changes and require manual intervention. Thus, aneed exists for an automated system for adjusting FiO₂ which willrespond to rapid SpO₂ changes. The system should not require manualintervention, but should allow for manual intervention, if desired. Thesystem should also allow for gradually weaning the FiO₂ as soon as anepisode begins to resolve.

BRIEF SUMMARY OF THE INVENTION

[0007] In accordance with the present invention, a system is providedfor delivering fractionally inspired oxygen (FiO₂) to a patient. Thesystem includes a device, such as a pulse oximeter, for obtaining anarterial hemoglobin oxygen saturation signal (SpO₂). An algorithm usesthe SpO₃ to determine the appropriate FiO₂ to deliver to the patient.The algorithm adjusts the FiO₂ level of an air-oxygen mixer of an oxygendelivery device, such as a mechanical ventilator.

[0008] In accordance with other aspects of the invention, SpO₂ levels,including a target (normoxemia) range, are defined. SpO₂ values abovethe normoxemia range are considered to be hyperoxemic and values belowthe normoxemia range are considered to be hypoxemic.

[0009] In accordance with further aspects of the invention, adetermination is made as to whether the SpO₂ signal is a valid signal.If the SpO₂ signal is not a valid signal, the FiO₂ to be delivered tothe patient is determined based on a backup value. If the SpO₂ signal isa valid signal and closed loop mode is not enabled, the FiO₂ to bedelivered to the patient is determined based on a backup value. If thesignal is valid and closed loop mode is enabled, the FiO₂ to bedelivered to the patient is determined based on the current SpO₂ and thetrend. The trend is determined by calculating a slope using previousSpO₂ values. The determined FiO₂ is then delivered to the patient, forexample, using a ventilator or an air-oxygen gas mixer.

[0010] In accordance with still further aspects of the invention, a userinterface is provided. The user interface displays status information.The user interface also displays alerts. The user interface can also beused to view and modify user settings/parameters.

BRIEF DESCRIPTION OF THE DRAWINGS

[0011] These, as well as other features of the present invention, willbecome more apparent upon reference to the drawings wherein:

[0012]FIG. 1 is a block diagram of a prior art system for manuallyadjusting the fraction of inspired oxygen (FiO₂);

[0013]FIG. 2 is a block diagram of a system for automatically adjustingFiO₂ in accordance with the present invention;

[0014]FIG. 3 is a flow diagram illustrating exemplary logic forautomatically adjusting FiO₂ in accordance with the present invention;

[0015]FIG. 4 is a table of exemplary variables and defaults values usedin the present invention;

[0016]FIG. 5 is a table of exemplary user settings and default valuesused in the present invention;

[0017]FIG. 6 is flow diagram illustrating exemplary logic for performinga control cycle as shown in FIG. 3;

[0018]FIG. 7 is a flow diagram illustrating exemplary logic forperforming backup processing when a valid SpO₂ signal is not received asshown in FIG. 6;

[0019] FIGS. 8-20 are a flow diagram illustrating exemplary logic forprocessing a valid SpO₂ signal as shown in FIG. 6; and

[0020]FIG. 21 is an exemplary graphical user interface illustrating SpO₂and FiO₂ values over a specified period of time.

DETAILED DESCRIPTION OF THE INVENTION

[0021] Traditionally, as shown in FIG. 1, a device, such as a pulseoximeter 50, is used to determine arterial hemoglobin oxygen saturationof a patient 60. A nurse 70 monitors the pulse oximeter 50. The nurse 70adjusts the fractionally inspired oxygen (FiO₂) delivered to the patient60 using a mechanical ventilator or air-oxygen mixer 80. Typically,ventilator device 80 mixes pure oxygen with air to give the patient amixture of air having a percentage of oxygen. For example, a ventilator80 may deliver a 90% oxygen/10% air mixture to the patient 60. The exactmixture of air required varies among patients and can vary for a givenpatient over a period of time. When a patient receives too much oxygen,a condition known as hyperoxemia occurs and if a patient does notreceive enough oxygen, a condition known as hypoxemia occurs.“Normoxemia” occurs if the proper amount of oxygen is delivered (i.e.,neither hyperoxemia nor hypoxemia occurs). A traditional system, such asthe one shown in FIG. 1, is an “open system” because it requires humanintervention (e.g., by a nurse 70).

[0022] As shown in FIG. 2, the present invention is a “closed system”which uses an algorithm 90 (described in detail below) to deliver FiO₂in response to receiving an arterial hemoglobin oxygen saturation signal(SpO₂). In exemplary embodiments of the invention, the algorithmacquires information on arterial oxygen-hemoglobin oxygen saturation(SpO₂) measured by a pulse oximeter 50 and uses this measurement asinput to determine the adjustment required, if any, to the fractionallyinspired oxygen concentration (FiO₂) delivered to a patient on acontinuous basis via a ventilator 80. It will be appreciated that thealgorithm described herein can be applied to various modes of oxygendelivery, for example, mechanical ventilators, oxy-hood, nasal cannulas,and/or Continuous Positive Airway Pressure (CPAP) systems or incubators.The delay between the new FiO₂ setting and the actual oxygenconcentration change is important. In most oxygen delivery modes thedelay is relatively short (e.g., less than 15 seconds). However, thereare significantly longer delays in large hoods or incubators. Theclosed-loop control system of the present invention is capable ofchanging the inspired gas concentration fast enough to follow rapid andfrequent hypoxemic episodes. In exemplary embodiments of the presentinvention, SpO₂ is read from the analog output of a pulse oximeter.However, alternative embodiments allow for reading from other outputs,e.g., from any serial output.

[0023] Even though the invention does not require human intervention,manual adjustments and overrides can be performed. The system describedherein is ideally suited for patients who are very low birth weightinfants. However, it will be appreciated that the present invention isnot so limited. The invention can be used for patients of all ages.

[0024] The present invention includes an algorithm 90 that continuouslyacquires the patient's SpO₂ information and adjusts the FiO₂ deliveredto the patient (e.g., via a mechanical ventilator 80) to maintain SpO₂within a specific range set by a user (e.g., a nurse). In exemplaryembodiments, the algorithm 90 calculates and adjusts the FiO₂ once persecond on a “closed loop” basis using a direct electronic interfacebetween the algorithm 90 and the ventilator's air-oxygen blendercontrol.

[0025] The algorithm 90 defines SpO₂ ranges based on a user-definedtarget range of normoxemia. Hyperoxemia is assumed to occur when SpO₂exceeds the normoxemia target range and hypoxemia is assumed to occurwhen SpO₂ falls below the normoxemia target range. The differentialcontrol feedback functions are used to deal with the patient variabilitychanges in FiO₂ which in combination with the algorithm's rules modulatethe magnitude and timing of FiO₂ adjustments during periods ofnormoxemia or during a hypoxemic or hyperoxemic episode. The factorsused to determine the adjustments are the current SpO₂ level, directionand rate of SpO₂ change, degree and duration of the hypoxemic orhyperoxemic episode, current FiO₂ setting, and the individual patient'sbasal FiO₂ requirement during normoxemia.

[0026] FiO₂ adjustments during hyperoxemia and normoxemia are of smallermagnitude and slower pace than those occurring during hypoxemia.However, the rules and control functions in the algorithm are designedto enable the algorithm to modify its responses to changing conditions,from slow and subtle SpO₂ changes during periods of stability to rapidlyfalling SpO₂ during an acute period of hypoxemia.

[0027] The algorithm 90 also has a backup function in the event thatthere is missing SpO₂ information. The backup function locks the FiO₂after a short wait period at a back-up level preset by the user or atthe current FiO₂ level, whichever is higher until SpO₂ information isavailable again.

[0028] In addition to the standard pulse oximeter alarms, the algorithmalerts the user when an episode of hyperoxemia or hypoxemia occurs, whenit lasts for more than a specified period of time (e.g., two minutes) inspite of FiO₂ adjustments, and when the adjustments set the FiO₂ atcertain levels for example, a low level of 0.21 (room air) and a highlevel of 1.0 (pure oxygen). The user is also alerted when SpO₂ signal islost. These alerts are intended to notify the user (e.g., nurse) toverify proper function of the SpO₂ measurement, FiO₂ delivery andcommunication links.

[0029]FIG. 3 is a flow diagram illustrating exemplary logic performed byalgorithm 90. The algorithm classifies SpO₂ according to ranges set bythe user. The user sets a target range for normoxemia (e.g., anexemplary default range is 88%-96%). An SpO₂ above the range fornormoxemia (e.g., greater than 96%) is considered hyperoxemic. An SpO₂below the range for normoxemia (e.g., less than 88%) is consideredhypoxemic. Because of its importance, hypoxemia is further subdivided.In exemplary embodiments, hypoxemia is further subdivided into thefollowing ranges: less than 75%; 75-85%; and 85% to the low limit of thetarget range, (for example, using the exemplary default range, 85%-88%).FiO₂ is adjusted based on the current SpO₂, the SpO₂ trend and the timethat SpO₂ has been within the range, as well as basal and current FiO₂settings.

[0030] The logic of FIG. 3 moves from a start block to block 100 wheresystem defaults are set. Various system defaults or parameters, such asthose shown in the table of FIG. 4 are preset. The parameters(variables) in Table 4 are described in further detail later. Thesevariables can be modified by the application and/or by the user.

[0031] After system defaults are set, the logic of FIG. 3 moves to block102 where a user interface is displayed. An exemplary user interface isillustrated in FIG. 21 and described later.

[0032] The logic of FIG. 3 then moves to block 104 where user settingsare read. User settings, such as those shown in FIG. 5, should be setprior to commencement of the closed loop execution (i.e., prior toentering the control cycle). Preferably, the settings can also be set ormodified during execution of the algorithm. Preferably, a suitable userinterface (such as the one shown in FIG. 21) is provided to allow theuser to set/modify these values. Although the user can set/modify thesevalues, preferably system defaults (such as those shown in FIG. 5) areprovided.

[0033] In exemplary embodiments of the invention SpO₂ Target Range HighLimit and SpO₂ Target Range Low Limit define the patient's desiredtarget range. In the exemplary embodiment shown in FIG. 5, SpO₂ TargetRange Low Limit must be in the range between 85%-94% and has a defaultvalue of 88% and SpO₂ Target Range High Limit must be in the rangebetween 94%-100% and has a default value of 96%. Thus, the defaulttarget range is 88%-96%.

[0034] FiO₂ Base is the patient's basal oxygen requirement to maintainnormal SpO₂. FiO₂ Base can be kept fixed at the user setting orautomatically adjusted by the algorithm to changes in the basal oxygenneeds. FiO₂ Base is also the initial level for FiO₂ Set when closed loopis switched ON. The default setting for FiO₂ Base can alternatively beobtained from the user setting during manual (normal) mode used beforeclosed loop is ON. In the exemplary embodiment shown in FIG. 5, FiO₂Base must be in the range between 21%-60% and has a default value of30%.

[0035] FiO₂ Backup is the default value for FiO₂ Set when the system isstarted, when SpO₂ Signal is OUT or when closed-loop switch is OFF. FiO₂Backup should not be lower than the basal (FiO₂ Base). In the exemplaryembodiment shown in FIG. 5, FiO₂ Backup must be in the range between21%-100% and has a default value of 40%.

[0036] FiO₂ Min is the minimum level at which FiO₂ Set, FiO₂ Base andFiO₂ Backup can be set. In the exemplary embodiment shown in FIG. 5,FiO₂ Min has a default value of 21% (room air).

[0037] FiO₂ Max (not shown in FIG. 5) is a default parameter. Forexample, FiO₂ Max is initially set at a default of 100% (pure oxygen),but can be user selectable.

[0038] After the user settings are read, the logic of FIG. 3 proceeds toblock 106 where a control cycle is performed as shown in FIG. 6 anddescribed in detail next. The control cycle is initiated when the userswitches closed-loop to ON. If closed-loop is set to OFF, the controlcycle loop continues, but FiO₂ Set is returned to the FiO₂ Backup level.FiO₂ Set is the actual parameter set at the air-oxygen mixer.

[0039]FIG. 6 is a flow diagram illustrating exemplary logic forperforming a control cycle in accordance with the present invention. Thelogic moves from a start block to block 200 where SpO₂ (e.g., SpO₂output signal from pulse oximeter 50) is read. The SpO₂ that is read isstored as SpO₂ Read. Next, the logic moves to decision block 202 where atest is made to determine if SpO₂ Read is within the acceptable SpO₂range. For example, as shown in FIG. 4, in exemplary embodiments, thedefault range is between 20 and 100%. If SpO₂ Read is not within theacceptable range (no in decision block 202), the logic moves to block204 where SpO₂ signal OUT processing is performed as shown in FIG. 7 anddescribed below. Most oximeters provide a 0% reading when signal is OUTwhen communication between the oximeter and algorithm is by means of theanalog output of the pulse oximeter. Alternatively, if serialcommunication exists between the oximeter and the algorithm, SpO₂information can be monitored by proper communication handshake. If SpO₂is within the SpO₂ OK range (yes in decision block 202), the logic movesto block 206 where SpO₂ Signal OK processing is performed as shown indetail in FIG. 8 and described later. After SpO₂ signal OUT processinghas been performed (block 204) or SpO₂ OK processing has been performed(block 206), the logic moves to block 208 to monitor whether usersettings have been changed. Preferably, the user can change varioussettings at any time. If user settings have been changed, variables areupdated accordingly. The logic then returns to block 200 where SpO₂ isread and processed again. In exemplary embodiments, SpO₂ is read andprocessed (e.g., FiO₂ adjusted accordingly) every second. Thus, the SpO₂is continuously monitored every second until the system is shut off.

[0040]FIG. 7 illustrates exemplary logic for performing SpO₂ Signal OUT(e.g., backup mode) processing in accordance with the present invention.In backup mode processing, FiO₂ Set (i.e., the actual parameter set atthe air-oxygen mixer) is locked at the FiO₂ Backup level, at the FiO₂Base level or at the current level (whichever is higher) until feedbackinformation is available again.

[0041] The logic of FIG. 7 moves from a start block to block 220 wherethe user is alerted and the cause is checked. There are various reasonwhy a pulse oximeter may fail to provide information, for example, poorsignal quality during motion or low perfusion (or both), a loose probeor a probe no longer in place, or a break on the communication linkbetween the oximeter and the algorithm 90. Next, the logic moves toblock 222 where SpO₂ Out Counter is incremented. SpO₂ Out Counter isused to confirm that signal loss is not related to some type oftemporary variability or error. Only after a minimum interval has passedis SpO₂ Signal OK Counter reset. This allows activities to resumenormally if there was a short drop-out period. Next, the logic moves todecision block 224 where a test is made to determine if SpO₂ Out Counteris equal to SpO₂ Time to Zero Counters. If so, the logic moves to block226 where SpO₂ OK Counter is set to zero. For example, in the exemplaryembodiment shown in FIG. 4, the default value is ten seconds. Thus, ifSpO₂ Out Counter is equal to ten, SpO₂ OK Counter will be reset to zero.The illustrated embodiment assumes that SpO₂ is read and processed oncea second. However, it will be appreciated that the algorithm can bemodified to accommodate reading and processing SpO₂ values at adifferent interval.

[0042] Next, the logic moves to decision block 228 where a test is madeto determine if SpO₂ Out Counter has been set for the last five seconds(e.g., SpO₂ Out Counter is greater than or equal to five). While thelogic illustrated is based on a lost SpO₂ signal for five consecutiveseconds, it will be appreciated that other time periods can be used.Preferably, the default value can be modified by the user. A short waitwill provide early additional oxygen if hypoxemia is accompanied bymotion of the extremities (which is often observed), whereas a longerwait will generally apply to cases where hypoxemia is not frequent andsignal loss is not accompanied by hypoxemia. If SpO₂ has not been setfor the specified period of time (e.g., five seconds), the logic of FIG.7 ends.

[0043] If, however, SpO₂ has been lost (OUT) for the last five secondsor other specified period of time (yes in decision block 228), the logicmoves to block 230 where FiO₂ Set Last Before Signal Lost is set to FiO₂Set. When FiO₂ is set to the backup level, the algorithm stores the lastFiO₂ value in memory. This FiO₂ Set Last Before Signal Lost value isused under some conditions to set FiO₂ as soon as SpO₂ is availableagain. Next, the logic moves to decision block 232 where a test is madeto determine if FiO₂ Backup is greater than or equal to FiO₂ Base. Ifso, the logic moves to decision block 234 where a test is made todetermine if FiO₂ Set is less than FiO₂ Backup. If so, the logic movesto block 236 where FiO₂ Set is set to FiO₂ Backup. The logic of FIG. 7then ends and processing returns to FIG. 6.

[0044] If FiO₂ Backup is less than FiO₂ Base (no in decision block 232),the logic moves to decision block 238 where a test is made to determineif FiO₂ Set is less than FiO₂ Base. If so, the logic moves to block 240where FiO₂ Set is set to FiO₂ Base. If not, FiO₂ set does not getchanged. The logic of FIG. 7 then ends and processing returns to FIG. 6.

[0045]FIG. 8 illustrates exemplary logic for performing SpO₂ Signal OKprocessing in accordance with the present invention. The counters oftime spent with SpO₂ within each range are updated continuously. Thesecounters are used to classify and confirm the actual SpO₂ level(normoxemia, hyperoxemia or hypoxemia) and discriminate against shortvariability. Only after a minimum time has elapsed since SpO₂ hasreached any specific range is it considered to be a new SpO₂ level. Inthe exemplary embodiment illustrated in FIG. 4, the default time periodbefore being considered a new level defaults to three seconds (SpO₂ Timein High Norm Low Range Min). This short interval can be affected byshort variability, therefore, other counters for previous SpO₂ rangesare reset only after a longer interval (SpO₂ Time to Zero Counters,which defaults to ten seconds in the exemplary embodiment shown in FIG.4) has elapsed. In this way, SpO₂ Read is confirmed to be out of anyspecific range only after the longer time period (e.g., ten seconds)SpO₂ Read is confirmed to be in the new range after three seconds (orwhatever value SpO₂ Time in High Norm Low Range Min is set to) but it isconfirmed to be out of the previous range only after ten seconds (orwhatever value Time to Zero Counters is set to). In this way, if SpO₂Read returns shortly after to the previous range, all activities in thatrange will resume immediately.

[0046] The logic of FIG. 8 moves from a start block to block 250 whereSpO₂ OK Counter is incremented. Next, the logic moves to decision block252 where a test is made to determine if SpO₂ OK Counter is equal toSpO₂ Time to Zero Counters. If so, the logic moves to block 254 whereSpO₂ Out Counter is set to zero. Next, appropriate timing processing isperformed based on SpO₂ Read. If SpO₂ Read is in the target range fornormoxemia, for example, 88%-96%, (yes in decision block 256), the logicmoves to block 258 where normoxemia timing is performed as shown indetail in FIG. 9 and described next.

[0047]FIG. 9 illustrates exemplary logic for performing normoxemiatiming in accordance with the present invention. As shown in FIG. 9, anddescribed below, normoxemia is considered the new SpO₂ level only aftera specified period of time (e.g., three seconds) has elapsed since SpO₂entered the target range, however, counters for other SpO₂ ranges arereset only after a longer interval (e.g., ten seconds) has elapsed. Thelogic of FIG. 9 moves from a start block to block 300 where SpO₂Normoxemia Counter is incremented. Next, the logic moves to decisionblock 302 where a test is made to determine if SpO₂ Normoxemia Counteris greater than or equal to SpO₂ Min Time in Range (SpO₂ Time in HighNorm Low Range, e.g., three seconds). If so, the logic moves to decisionblock 304 where a test is made to determine if SpO₂ Normoxemia Counteris equal to SpO₂ Min Time in Range. If so, the logic moves to block 306where SpO₂ Previous Level is set to SpO₂ Level. Regardless of theoutcome of decision block 304, the logic proceeds to block 308 whereSpO₂ Level is set to Normoxemia. Regardless of the outcome of decisionblock 302, the logic moves to decision block 310 where a test is made todetermine if SpO₂ Normoxemia Counter is greater than SpO₂ Time to ZeroCounters. If so, the logic moves to block 312 where counters (SpO₂Hyperoxemia Counter, SpO₂ Hypoxemia Counter, SpO₂ Hypoxemia 85-Low LimitCounter, SpO₂ Hypoxemia 75-85 Counter and SpO₂ Hypoxemia less than 75Counter) are set to zero. The logic of FIG. 9 then ends and processingreturns to FIG. 8.

[0048] Returning to FIG. 8, if SpO₂ Read is greater than the targetrange (yes in decision block 260), the logic moves to block 262 wherehyperoxemia timing is performed as shown in detail in FIG. 10 anddescribed next.

[0049]FIG. 10 illustrates exemplary logic for performing hyperoxemiatiming in accordance with the present invention. As shown in FIG. 10 anddescribed below, hyperoxemia is considered the new SpO₂ level only aftera specified period of time (e.g., three seconds) has elapsed since SpO₂entered the hyperoxemia range, however, counters for other SpO₂ rangesare reset only after a longer interval (e.g., ten seconds) has elapsed.The logic of FIG. 10 moves from a start block to block 320 where SpO₂Hyperoxemia Counter is incremented. Next, the logic moves to decisionblock 322 where a test is made to determine if SpO₂ Hyperoxemia Counteris greater than or equal to SpO₂ Min Time in Range. If so, the logicmoves to decision block 324 where a test is made to determine if SpO₂Hyperoxemia Counter is equal to the SpO₂ Min Time in Range. If so, thelogic moves to block 326 where SpO₂ Previous Level is set to SpO₂ Level.Regardless of the outcome of decision block 324, the logic proceeds toblock 328 where SpO₂ Level is set to Hyperoxemia. Regardless of theoutcome of decision block 322, the logic moves to decision block 330where a test is made to determine if SpO₂ Hyperoxemia Counter is greaterthan SpO₂ Time to Zero Counters. If so, the logic moves to block 332where counters (SpO₂ Normoxemia Counter, SpO₂ Hypoxemia Counter, SpO₂Hypoxemia 85-Low Limit Counter, SpO₂ Hypoxemia 75-85 Counter and SpO₂Hypoxemia less than 75 Counter) are set to zero. The logic of FIG. 10then ends and processing returns to FIG. 8.

[0050] Returning to FIG. 8, if SpO₂ Read is less than the target range(yes in decision block 264), the logic moves to block 266 wherehypoxemia timing is performed as shown in detail in FIG. 11 anddescribed next.

[0051]FIG. 11 illustrates exemplary logic for performing hypoxemiatiming in accordance with the present invention. As shown in FIG. 11,and described below, hypoxemia is considered the new SpO₂ level onlyafter a specified period of time (e.g., three seconds) has elapsed sinceSpO₂ entered the hypoxemia range, however, counters for other SpO₂ranges are reset only after a longer interval (e.g., ten seconds) haselapsed. The logic of FIG. 11 moves from a start block to block 340where SpO₂ Hypoxemia Counter is incremented. Next, the logic moves todecision block 342 where a test is made to determine if SpO₂ HypoxemiaCounter is greater than or equal to SpO₂ Min Time in Range. If so, thelogic moves to decision block 344 where a test is made to determine ifSpO₂ Hypoxemia Counter is equal to SpO₂ Min Time in Range. If so, thelogic moves to block 346 where SpO₂ Previous Level is set to SpO₂ Level.Regardless of the outcome of decision block 344, the logic proceeds toblock 348 where SpO₂ Level is set to Hypoxemia. Regardless of theoutcome of decision block 342, the logic of FIG. 11 proceeds to decisionblock 350 where a test is made to determine if SpO₂ Hypoxemia Counter isgreater than SpO₂ Time to Zero Counters. If so, the logic moves to block352 where counters (SpO₂ Normoxemia Counter and SpO₂ HyperoxemiaCounter) are set to zero.

[0052] As described above, hypoxemia is subdivided into ranges, forexample, less than 75%, 75%-85% and 85% to the low limit for normoxemia.Hypoxemia counters for the various sub-ranges are set based on SpO₂Read, as appropriate. If SpO₂ Read is between 85 and SpO₂ Target RangeLow Limit, for example, using the exemplary default range, between85%-88%, (yes in decision block 354), the logic moves to block 356 whereSpO₂ Hypoxemia 85-Low Limit Counter is incremented. The logic then movesto decision block 358 where a test is made to determine if SpO₂Hypoxemia 85-Low Limit Counter is greater than Time to Zero Counters. Ifso, the logic moves to block 360 where counters (SpO₂ Hypoxemia 75-85Counter and SpO₂ Hypoxemia less than 75 Counter) are set to zero. IfSpO₂ Read is between 75 and 85 (yes in decision block 362), the logicmoves to block 364 where SpO₂ Hypoxemia 75-85 Counter is incremented.The logic then moves to decision block 366 where a test is made todetermine if SpO₂ Hypoxemia 75-85 Counter is greater than SpO₂ Time toZero Counters. If so, the logic moves to block 368 where counters (SpO₂Hypoxemia 85-Low Limit Counter and SpO₂ Hypoxemia less than 75 Counter)are set to zero. If SpO₂ Read is less than 75 (yes in decision block370), the logic moves to block 372 where SpO₂ Hypoxemia less than 75Counter is incremented. The logic then proceeds to decision block 374where a test is made to determine if SpO₂ Hypoxemia less than 75 Counteris greater than SpO₂ Time to Zero Counters. If so, the logic moves toblock 376 where counters (SpO₂ Hypoxemia 85-Low Limit Counter and SpO₂Hypoxemia 75-85 Counter) are set to zero. The logic of FIG. 11 then endsand processing returns to FIG. 8.

[0053] Returning to FIG. 8, after appropriate timing processing has beenperformed (e.g., normoxemia timing in block 258, hyperoxemia timing inblock 262 or hypoxemia in block 266), the logic of FIG. 8 moves to block268 where the SpO₂ slope calculation is performed as illustrated indetail in FIG. 12 and described next.

[0054]FIG. 12 illustrates exemplary logic for performing the SpO₂ slopecalculation in accordance with the present invention. Since SpO₂ is readand processed every second, the slope is calculated every second. When aslope is calculated, it is calculated based on the current SpO₂ readingand the previous seven consecutive SpO₂ readings. It will be appreciatedthat a value other than seven may be used for the number of previousvalues to use when calculating the slope. All of the readings used incalculating the slope should be within the range where SpO₂ signal isconsidered OK. The slope is the average of the second-to-second SpO₂change. The calculated slope is limited to a specified range. Forexample, in the illustrated embodiment shown in FIG. 4, the rangedefaults to +/−5% per second (SpO₂ Slope High Limit and SpO₂ Slope LowLimit). In various embodiments, multiple slopes can be calculated totrack fast, medium, and slow changes simultaneously. The multiple slopescan then be used at different times within the FiO₂ Set Determinationprocedure (shown in FIG. 14).

[0055] The logic of FIG. 12 moves from a start block to decision block380 where a test is made to determine if SpO₂ Signal OK Counter isgreater than or equal to seven consecutive seconds. If not, the logicmoves to block 382 where SpO₂ Slope is set to zero and the logic of FIG.12 ends and processing returns to FIG. 8.

[0056] If however, SpO₂ Signal OK Counter is greater than or equal toseven consecutive seconds (yes in decision block 380), the logic movesto block 384 where SpO₂ Slope is set to the average of the last sevensecond-to-second SpO₂ changes. Next, logic is performed to ensure thatthe slope is within the allowable limits. If in decision block 386 it isdetermined that SpO₂ Slope is greater then SpO₂ Slope High Limit (e.g.,a change of more than 5%), the logic moves to block 388 where SpO₂ Slopeis set to SpO₂ Slope High limit (e.g., SpO₂ Slope is set to +5%). If itis determined in decision block 390 that SpO₂ Slope is less than SpO₂Slope Low Limit, the logic moves to block 392 where SpO₂ Slope is set toSpO₂ Slope Low Limit (e.g., SpO₂ Slope is set to −5%). The logic of FIG.12 then ends and processing returns to FIG. 8.

[0057] Returning to FIG. 8, after the slope has been calculated (block268), the logic moves to block 270 where FiO₂ Max/Min timing isperformed as illustrated in detail in FIG. 13 and described next.

[0058] The logic of FIG. 13 illustrates exemplary logic for performingFiO₂ Max/Min timing in accordance with the present invention. Thealgorithm monitors the actual value for FiO₂ Set by counting the time atthe maximum and minimum FiO₂ limits. If FiO₂ has been continuously atthe maximum limit longer that FiO₂ Max Alarm Interval, the user isalerted. The time in FiO₂ max and min is also used later for calculationof FiO₂ Base (FIG. 18).

[0059] The logic of FIG. 13 moves from a start block to decision block400 where a test is made to determine if FiO₂ Set is equal to FiO₂ Min.If not, the logic moves to block 402 where FiO₂ Min Counter is set tozero. If so, the logic moves to block 404 where FiO₂ Min Counter isincremented. Next, the logic moves to decision block 406 where a test ismade to determine if FiO₂ Set is equal to FiO₂ Max. If not, the logicmoves to block 408 where FiO₂ Max Counter is set to zero and the logicof FIG. 13 ends and processing returns to FIG. 8.

[0060] If, however, FiO₂ Set is not equal to FiO₂ Max, the logic movesfrom decision block 406 to block 410 where FiO₂ Max Counter isincremented. The logic then moves to block 412 where the user is alertedif it (FiO₂ Max Counter) is greater than 60 seconds. It will beappreciated that the time may be set to some value other than 60 secondsin various embodiments. The logic of FIG. 13 then ends and processingreturns to FIG. 8.

[0061] Returning to FIG. 8, after FiO₂ Max/Min timing has beenperformed, the logic moves to decision block 272 where a test is made todetermine if closed-loop control is enabled. If so, the logic moves toblock 273 where FiO₂ Set Determination is performed as illustrated indetail in FIG. 14 and described next.

[0062] The logic of FIG. 14 illustrates exemplary logic for performingFiO₂ Set Determination in accordance with the present invention. SpO₂Read values are classified into SpO₂ levels: normoxemia, hyperoxemia andhypoxemia. The updated FiO₂ Set value is calculated in different waysaccording to the oxygenation range (SpO₂ level) that SpO₂ Read iscurrently in. The logic of FIG. 14 moves from a start block to decisionblock 450 where a test is made to determine the SpO₂ level. Appropriateprocessing is then performed based on the SpO₂ level. If the SpO₂ levelindicates hypoxemia, the logic moves to block 452 where FiO₂ SetDetermination in Hypoxemia is performed as illustrated in detail in FIG.15 and described below. If the SpO₂ level indicates hyperoxemia, thelogic moves to block 454 where FiO₂ Set Determination in Hyperoxemia isperformed as illustrated in detail in FIG. 16 and described below. Ifthe SpO₂ level indicates normoxemia, the logic moves to block 456 whereFiO₂ Set Determination in Normoxemia is performed as illustrated indetail in FIG. 17 and described below.

[0063]FIG. 15 illustrates exemplary logic for performing FiO₂ SetDetermination in Hypoxemia in accordance with the present invention.When hypoxemia occurs, the algorithm of the present invention determinesan initial increase in FiO₂ Set of significant magnitude sufficient tooffset the initial cascade effect of hypoxia as well as any lag time inchanging the inspired O₂ concentration by the delivery mode. As soon asthe SpO₂ Read value drops below the low limit of the target range set bythe user and remains for the minimum required time (e.g., threeseconds), the algorithm increases FiO₂ Set (occurring once for everytime it drops to the hypoxemic range). Simultaneously, if the calculatedSpO₂ slope is negative (trend is a decrease in SpO₂), FiO₂ Set isincreased in direct proportion to the speed of change (e.g., everysecond). To prevent overshoot because of the system and intrinsic delaysfrom the time inspired O₂ concentration changes until SpO₂ returns tonormoxemia, FiO₂ Set is weaned down in steps proportional to the actualFiO₂ Set (e.g., every second) as soon as the SpO₂ shows signs ofrecovery (positive slope). Weaning (reduction) of the excess inspiredoxygen concentration prevents arterial unnecessary supplemental oxygenexposure while oxygen saturation levels are in the normal range. FiO₂ isnot weaned down below the basal level. Weaning is halted if the SpO₂slope is flat or negative. If SpO₂ remains in the hypoxemia range anddoes not show signs of recovery (slope is flat or negative), successiveincrements of magnitude proportional to the difference between thetarget range and the SpO₂ Read are made. The intervals at which thesesteps occur vary in duration in inverse proportion to the degree ofhypoxemia (a lower SpO₂ Read will cause larger increments at shorterintervals).

[0064] The logic of FIG. 15 moves from a start block to decision block460 where a test is made to determine if conditions for initial FiO₂increase are present. In exemplary embodiments, conditions for initialFiO₂ increase when SpO₂ has just dropped below range are:

[0065] SpO₂ signal lost and recovered in Hypoxemia

[0066] OR

[0067] SpO₂ in Hypoxemia 85-Low Limit and previously SpO₂ in Normoxemia

[0068] OR

[0069] SpO₂ in Hypoxemia 75-85% and previously SpO₂ in Normoxemia orSpO₂ in Hypoxemia 85-Low Limit

[0070] OR

[0071] SpO₂ in Hypoxemia less than 75% and previously SpO₂ in Normoxemiaor SpO₂ in Hypoxemia 85-Low Limit or SpO₂ in Hypoxemia 75-85%.

[0072] If conditions for initial FiO₂ increase (such as those describedabove) are present, the logic moves to block 462 where FiO₂ Set isincreased using the following equation:

FiO₂ Set=FiO₂ Set+6.0*(SpO₂ Low Limit−SpO₂ Read)*(FiO₂ Base/100)  (1)

[0073] Next, the logic moves to decision block 464 where a test is madeto determine if the slope is negative. If so, the logic moves to block466 where FiO₂ Set is increased in direct proportion to the speed ofchange using the following equation:

FiO₂ Set=FiO₂ Set+3.0*absolute (SpO₂ Slope)*(FiO₂ Base/100)  (2)

[0074] The logic then moves to decision block 468 where a test is madeto determine whether conditions for FiO₂ weaning are present. Inexemplary embodiments, conditions for FiO₂ weaning when SpO₂ begins torecover include:

[0075] SpO₂ Read>75

[0076] AND

[0077] SpO₂ Slope>0

[0078] AND

[0079] FiO₂ Set>FiO₂ Base

[0080] AND

[0081] SpO₂ Signal OK Counter>SpO₂ OK Time Min (e.g., five seconds).

[0082] If conditions for weaning are present, the logic moves to block470 where FiO₂ Set is decreased using the following equation:

FiO₂ Set=FiO₂ Set−6.0*absolute (SpO₂ Slope)*(FiO₂ Set/100)  (3)

[0083] Next, the logic moves to decision block 472 where a test is madeto determine if FiO₂ Set is less than FiO₂ Base. If so, the logic movesto block 474 where FiO₂ Set is set to FiO₂ Base. The logic then moves toblock 476 where Hypoxemia Adjust Interval Counter (in seconds) isincremented and Hypoxemia Adjust Interval is calculated using thefollowing equation:

Hypoxemia Adjust Interval=SpO₂ Read−65  (4)

[0084] The Hypoxemia Adjust Interval is limited to a specific range. Thelogic moves to decision block 478 where a test is made to determine ifthe Hypoxemia Adjust Interval is greater than the High Limit (SpO₂ LowAdjust Interval High Limit), for example, 40 seconds. If so, the logicmoves to block 480 where the Hypoxemia Adjust Interval is set to theHigh Limit, e.g., 40 seconds. The logic proceeds to decision block 482where a test is made to determine if the Hypoxemia Adjust Interval isless than the Low Limit (SpO₂ Low Adjust Interval Low Limit), forexample, 5 seconds. If so, the logic moves to block 484 where theHypoxemia Adjust Interval is set to the Low Limit, e.g., five seconds.

[0085] Next, a determination must be made as to whether it is time toadjust. The logic moves to decision block 486 where a test is made todetermine if SpO₂ Slope is negative or zero and Hypoxemia AdjustInterval Counter is greater than or equal to Hypoxemia Adjust Interval.If so, the logic moves to block 488 where Hypoxemia Adjust IntervalCounter is reset to zero and FiO₂ Set is increased using the followingequation:

FiO₂ Set=FiO₂ Set+3.0*(SpO₂ Low Limit−SpO₂ Read)*(FiO₂ Base/100)  (5)

[0086] The logic of FIG. 15 then ends and processing returns to FIG. 14.

[0087]FIG. 16 illustrates exemplary logic for performing FiO₂ SetDetermination in Hyperoxemia in accordance with the present invention.When hyperoxemia occurs, the system determines an appropriate initialdecrease of FiO₂ Set that is of significant magnitude. This reduction issmaller than that occurring initially with hypoxemia. As soon as SpO₂Read exceeds the limit of the target range set by the user and remainsfor the minimum required time within each range (e.g., three seconds),the algorithm decreases FiO₂ Set (once each time it reaches thehyperoxemic range). If SpO₂ signal was lost (OUT) and when recoveredshows values in hyperoxemia, the FiO₂ Set value is changed to the FiO₂Set value that was last recorded when SpO₂ dropped out. The new FiO₂ Setvalue should not exceed the FiO₂ Base level. When SpO₂ Read values reachthe hyperoxemic range, the algorithm allows for weaning of FiO₂ Setduring a wean interval (e.g., 30 seconds) occurring every second only ifthe current FiO₂ Set value is above the FiO₂ Base level or the SpO₂Slope is positive (more hyperoxemic). Under both circumstances the FiO₂Set value is weaned down only to the FiO₂ Base level. Once SpO₂ Readvalues have been in the hyperoxemic range longer than the initial weaninterval (e.g., 30 seconds), the current FiO₂ Set value is decreased inproportion to a positive SpO₂ Slope (every second, but smalleradjustments). FiO₂ Set value can be lowered below the FiO₂ Base level.After the initial wean interval (e.g., 30 seconds) has elapsed, FiO₂ Setvalue is decreased at steps of magnitude proportional to the differencebetween the hyperoxemic SpO₂ Read value and the target SpO₂ range andthe FiO₂ Base level. These adjustments, however, are smaller than thoseobserved during hypoxemia. The intervals at which these adjustmentsoccur are in inverse proportion to the degree of hyperoxemia. Therefore,an SpO₂ reading average of 97% will result in a smaller reduction than a99% reading and at longer intervals. These reductions can lower FiO₂ Setbelow FiO₂ Base level.

[0088] The logic of FIG. 16 moves from a start block to decision block490 where a test is made to determine if conditions for initial FiO₂decrease are present. In exemplary embodiments of the invention,conditions for initial FiO₂ decrease when SpO₂ has just crossed the highlimit of the target range are:

[0089] SpO₂ Hyperoxemia Counter=Min Time in Range (e.g., three seconds)

[0090] AND

[0091] SpO₂ previously in Normoxemia OR SpO₂ Previously in Hypoxemia

[0092] AND

[0093] FiO₂ Set>FiO₂ Base.

[0094] If conditions for initial FiO₂ decrease are present, the logicmoves to block 492 where FiO₂ Set is decreased using the followingequation:

FiO₂ Set=FiO₂ Set−3.0*(SpO₂ Read−SpO₂ High Limit)*(FiO₂ Base/100)  (6)

[0095] Next, the logic moves to decision block 494 where a test is madeto determine if FiO₂ Set is less than FiO₂ Base. If so, the logic movesto block 496 where FiO₂ Set is set to FiO₂ Base. Next, the logic movesto decision block 498 where a test is made to determine if SpO₂ Signalwas OUT and recovered in hyperoxemia. If so, the logic moves fromdecision block 498 to decision block 500 where a test is made todetermine if FiO₂ Set is greater than FiO₂ Set Last Before Signal Lost.If the outcomes of decision blocks 498 and 500 are both true, the logicmoves to block 502 where FiO₂ Set is set to FiO₂ Set Last Before SignalLost. If the outcome of decision block 498 is true, the logic proceedsto decision block 504 where a test is made to determine if FiO₂ Set isgreater than FiO₂ Base. If so, the logic moves to block 506 where FiO₂Set is set to FiO₂ Base.

[0096] Regardless of the outcome of decision block 498, the logicproceeds to decision block 508 where a test is made to determine if SpO₂Hyperoxemia Counter is less than or equal to Wean Interval (e.g., 30seconds). If so, the logic moves to decision block 510 where a test ismade to determine if FiO₂ Set is greater than FiO₂ Base. If so, thelogic moves to block 512 where FiO₂ Set is decreased according to thefollowing equation:

FiO₂ Set=FiO₂ Set−6.0*(SpO₂ Read−SpO₂ High Limit)*(FiO₂ Set/100)  (7)

[0097] The logic proceeds to decision block 514 where a test is made todetermine if SpO₂ Slope is positive(e.g., greater than zero). If SpO₂Slope is positive, the logic moves to block 516 where FiO₂ is decreasedusing the following equation:

FiO₂ Set=FiO₂ Set−3.0*absolute (SpO₂ Slope)*(FiO₂ Set/100)  (8)

[0098] Regardless of the outcome of decision block 514, the logicproceeds to decision block 518 where a test is made to determine if FiO₂Set is less than FiO₂ Base. If so, the logic moves to block 520 whereFiO₂ Set is set to FiO₂ Base. Regardless of the outcome of decisionblocks 508, 510, 514 and 518, the logic proceeds to decision block 522where a test is made to determine if SpO₂ Hyperoxemia Counter is greaterthan Wean Interval (e.g., 30 seconds). If so, the logic moves todecision block 524 where a test is made to determine if SpO₂ Slope ispositive. If so, the logic moves to block 526 where FiO₂ Set isdecreased using the following equation:

FiO₂ Set=FiO₂ Set−absolute (SpO₂ Slope)*(FiO₂ Base/100)  (9)

[0099] Regardless of the outcome of decision block 524, the logicproceeds to block 528 where Hyperoxemia Adjust Interval Counter isincremented and Hyperoxemia Adjust Interval is calculated using thefollowing equation:

Hyperoxemia Adjust Interval=40.0−3.0*(SpO₂ Read−SpO₂ High Limit)  (10)

[0100] Hyperoxemia Adjust Interval is limited to a specific range. Thelogic proceeds to decision block 529 where a test is made to determineif Hyperoxemia Adjust Interval is greater than SpO₂ High Adjust IntervalHigh Limit (e.g., 60 seconds). If so, the logic moves to block 530 whereHyperoxemia Adjust Interval is set to SpO₂ High Adjust Interval HighLimit, (e.g., 60 seconds). Next, the logic moves to decision block 531where a test is made to determine if Hyperoxemia Adjust Interval is lessthan SpO₂ High Adjust Interval Low Limit (e.g., 20 seconds). If so, thelogic moves to block 532 where Hyperoxemia Adjust Interval is set toSpO₂ High Adjust Interval Low Limit (e.g., 20 seconds). The logic thenmoves to decision block 534 where a test is made to determine whether itis time to adjust (i.e., whether the Hyperoxemia Adjust Interval Counteris greater than or equal to Hyperoxemia Adjust Interval). If it is timeto adjust, the logic moves to block 536 where SpO₂ High Adjust Level iscalculated as the average of the SpO₂ over the Hyperoxemia AdjustInterval. Next, the logic moves to block 538 where Hyperoxemia AdjustInterval Counter is reset to zero and FiO₂ is decreased based on thefollowing equation:

FiO₂ Set=FiO₂ Set−2.0*(SpO₂ High Adjust Level−SpO₂ High Limit)*(FiO₂Base/100)  (11)

[0101] The logic of FIG. 16 then ends and processing returns to FIG. 14.

[0102]FIG. 17 illustrates exemplary logic for performing FiO₂ SetDetermination in Normoxemia in accordance with the present invention. Ifthe SpO₂ signal was lost (OUT) and when recovered it shows values innormoxemia and FiO₂ Set is greater than the FiO₂ Set value that was lastrecorded when SpO₂ dropped out, the FiO₂ Set value is changed to thatrecorded value. This new FiO₂ Set value should not exceed the FiO₂ Baselevel. When SpO₂ Read values reach the normoxemic range after recoveringfrom hypoxemia while the current FiO₂ Set value is above the FiO₂ SetBase level and the SpO₂ Slope does not show a decrease (is notnegative), the algorithm decreases the FiO₂ Set value (one time). TheFiO₂ Set value is not weaned down below the FiO₂ Base level. When SpO₂Read values fall in the lower half of the normoxemic range (between thelow limit of the target range of normoxemia and the default mid-valueSpO₂ Base) and it shows signs of worsening (negative SpO₂ Slope), theFiO₂ Set value is increased in proportion to SpO₂ slope and the FiO₂Base level. This is done to avert any onset of hypoxemia. When SpO₂ Readvalues reach the normoxemic range, the algorithm allows for weaning ofFiO₂ Set every second during a wean interval (e.g., 45 seconds). Thisweaning occurs if the current FiO₂ Set value is above the FiO₂ Baselevel and the SpO₂ Slope is positive (towards hyperoxemia). Thereduction is proportional to the slope. If the current FiO₂ Set value isabove the FiO₂ Base level but the SpO₂ Slope is flat, the reduction isproportional only to the actual FiO₂ Set value. Under both conditions,the FiO₂ Set value is not weaned down below the FiO₂ Base level.

[0103] Once SpO₂ read values have been in the normoxemic range longerthan initial wean interval (e.g., 45 seconds) and the current FiO₂ Setvalue is greater than the FiO₂ Base level and there is a positive SpO₂Slope, the FiO₂ Set value is decreased (every second) in proportion tothe slope and actual FiO₂ Set value. FiO₂ Set value is not weaned downbelow the FiO₂ Base level. After the initial wean interval (e.g., 45seconds) has elapsed and the FiO₂ Set value is less than the FiO₂ Baselevel and there is a negative SpO₂ Slope and the FiO₂ Set value isincreased in proportion to the SpO₂ Slope and the current FiO₂ Setlevel. This increase cannot cause the FiO₂ Set level to be above theFiO₂ Base level.

[0104] Once SpO₂ Read values have been in the normoxemic range longerthan the initial wean interval (e.g., 45 seconds) or previous SpO₂ levelwas hyperoxemia or normoxemia and SpO₂ was lost and recovered (evenbefore the initial wean interval of 45 seconds in both cases) thealgorithm averages SpO₂ Read values. The duration of these averagingintervals is in proportion to the departure of SpO₂ Read from themid-point of normoxemia (e.g., SpO₂ Base=94%). If the average SpO₂adjust value exceeds the SpO₂ Base level (e.g., 94%) and FiO₂ Set valueis greater than the FiO₂ Base level, FiO₂ Set value is decreased inproportion to the difference of averaged to base SpO₂ and FiO₂ Baselevel. If the averaged SpO₂ adjust value is below the SpO₂ Base level(e.g., 94%) and FiO₂ Set value is less than the FiO₂ Base level, FiO₂Set value is increased in proportion to the difference of averaged tobase SpO₂ and FiO₂ Base level. The magnitude of the FiO₂ Set change islarger when the average SpO₂ is above the mid SpO₂ Base and FiO₂ Set isabove FiO₂ Base than when the average SpO₂ is below the mid SpO₂ Baseand FiO₂ Set is below FiO₂ Base. The purpose of this difference is toallow lower O₂, provided that SpO₂ is within normoxemia.

[0105] The logic of FIG. 17 moves from a start block to decision block540 where a test is made to determine if SpO₂ Signal was OUT andrecovered in Normoxemia. If so, the logic moves to decision block 542where a test is made to determine if FiO₂ Set is greater than FiO₂Before Signal Lost. If so, the logic moves to block 544 where FiO₂ Setis set to FiO₂ Before Signal Lost. Regardless of the outcome of decisionblock 542, the logic proceeds to decision block 546 where a test is madeto determine if FiO₂ Set is greater than FiO₂ Base. If so, the logicproceeds to block 548 where FiO₂ Set is set to FiO₂ Base. Regardless ofthe outcome of decision block 540, the logic proceeds to decision block550 where a test is made to determine if conditions for initial FiO₂decrease are present. In exemplary embodiments of the invention,conditions for initial FiO₂ decrease when SpO₂ just crossed the lowlimit of the target range recovering from hypoxemia are:

[0106] SpO₂ Normoxemia Counter=Min Time in Range (e.g., 3 seconds)

[0107] AND

[0108] SpO₂ was previously in Hypoxemia

[0109] AND

[0110] FiO₂ Set>FiO₂ Base

[0111] AND

[0112] SpO₂ Slope is flat (zero) or positive.

[0113] If conditions for initial FiO₂ decrease are present, the logicmoves from decision block 550 to block 552 where FiO₂ Set is decreasedusing the following equation:

FiO₂ Set=FiO₂ Set−6.0*(SpO₂ Read−SpO₂ Low Limit)*(FiO₂ Set/100)  (12)

[0114] The logic then moves to decision block 554 where a test is madeto determine if FiO₂ Set is less than FiO₂ Base. If so, the logic movesto block 556 where FiO₂ Set is set to FiO₂ Base. Regardless of theoutcome of decision block 550, the logic proceeds to decision block 558where a test is made to determine if SpO₂ Read is less than SpO₂ Baseand SpO₂ Slope is negative. If so, the logic moves to block 560 whereFiO₂ Set is increased according to the following equation:

FiO₂ Set=FiO₂ Set+3.0*absolute (SpO₂ Slope)*(FiO₂ Base/100)  (13)

[0115] Regardless of the outcome of decision block 558, the logicproceeds to decision block 562 where a test is made to determine if SpO₂Normoxemia Counter is less than or equal to Wean interval (e.g., 45seconds) If so, the logic moves to decision block 564 where a test ismade to determine if FiO₂ Set is greater than FiO₂ Base. If so, FiO₂ maybe decreased based on the slope. If SpO₂ Slope is positive (yes indecision block 566), the logic moves to block 568 where FiO₂ Set isdecreased using the following equation:

FiO₂ Set=FiO₂ Set−3.0absolute (SpO₂ Slope)*(FiO₂ Set/100)  (14)

[0116] If SpO₂ Slope is flat, i.e., zero (yes in decision block 570),the logic moves to block 572 where FiO₂ is decreased using the followingequation:

FiO₂ Set=FiO₂ Set−3.0*(FiO₂ Set/100)  (15)

[0117] The logic then moves to decision block 574 where a test is madeto determine if FiO₂ Set is less than FiO₂ Base. If so, the logic movesto block 576 where FiO₂ Set is set to FiO₂ Base.

[0118] Regardless of the outcome of decision block 562, the logicproceeds to decision block 578 where a test is made to determine if SpO₂Normoxemia Counter is greater than Wean Interval (e.g., 45 seconds). Ifso, the logic moves to decision block 580 where a test is made todetermine if SpO₂ Slope is greater than zero and FiO₂ Set is greaterthan FiO₂ Base. If so, the logic moves to block 582 where FiO₂ Set isdecreased using the following equation:

FiO₂ Set=FiO₂ Set−3.0*absolute (SpO₂ Slope)*(FiO₂ Set/100)  (16)

[0119] The logic then moves to decision block 584 where a test is madeto determine if FiO₂ Set is less than FiO₂ Base. If so, the logic movesto block 586 where FiO₂ Set is set to FiO₂ Base.

[0120] Regardless of the outcome of decision block 578, the logicproceeds to decision block 588 where a test is made to determine if SpO₂Normoxemia Counter is greater than Wean Interval (e.g., 45 seconds). Ifso, the logic moves to decision block 590 where a test is made todetermine if SpO₂ Slope is greater than zero and FiO₂ Set is less thanFiO₂ Base. If so, the logic moves to block 592 where FiO₂ Set isincreased using the following equation:

FiO₂ Set=FiO₂ Set+3.0*absolute (SpO₂ Slope)*(FiO₂ Set/100)  (17)

[0121] The logic then moves to decision block 594 where a test is madeto determine if FiO₂ Set is greater than FiO₂ Base. If so, the logicmoves to block 596 where FiO₂ Set is set to FiO₂ Base.

[0122] Regardless of the outcome of decision block 588, the logicproceeds to decision block 598 where a test is made to determine if SpO₂Counter is greater than Wean interval (e.g. 45 seconds) or if theprevious level is Hyperoxemia or Normoxemia. If so, the logic moves toblock 600 where Normoxemia Adjust Interval Counter is incremented andNormoxemia Adjust Level is calculated using the following equation:

Normoxemia Adjust Interval=60.0−4.0*absolute (SpO₂ Read−SpO₂ Base)  (18)

[0123] Normoxemia Adjust Interval is limited to a specific range. Thelogic moves to decision block 601 where a test is made to determine ifNormoxemia Adjust Interval is greater than SpO₂ Normal Adjust IntervalHigh Limit (e.g., 60 seconds). If so, the logic moves to block 602 whereNormoxemia Adjust Interval is set to SpO₂ Normal Adjust Interval HighLimit (e.g., 60 seconds). Next, the logic moves to decision block 604where a test is made to determine if Normoxemia Adjust Interval is lessthan SpO₂ Normal Adjust Interval Low Limit (e.g., 20 seconds). If so,the logic moves to block 606 where Normoxemia Adjust Interval is set toSpO₂ Normal Adjust Interval Low Limit (e.g., 20 seconds). The logic thenmoves to decision block 608 where a test is made to determine if it istime to adjust (i.e., Normoxemia Adjust Interval Counter is greater thanor equal to Normoxemia Adjust Interval). If so, the logic moves to block610 where SpO₂ Normoxemia Adjust Level is calculated as the average ofthe SpO₂ over the Normoxemia Interval. Next, the logic moves to decisionblock 612 where a test is made to determine if SpO₂ Adjust Level isgreater than SpO₂ Base AND SpO₂ Slope is greater than or equal to zeroAND FiO₂ Set is greater than FiO₂ Base. If so, the logic moves to block614 where Normoxemia Adjust Interval Counter is reset to zero and FiO₂Set is decreased using the following equation:

FiO₂ Set=FiO₂ Set−2.0*(SpO₂ Adjust Level−SpO₂ Base)*(FiO₂Base/100)  (19)

[0124] The logic then moves to decision block 616 where a test is madeto determine if SpO₂ Adjust Level is less than SpO₂ Base AND SpO₂ Slopeis less than or equal to zero AND FiO₂ Set is less than FiO₂ Base. Ifso, the logic moves to block 618 where FiO₂ Set is increased using thefollowing equation:

FiO₂ Set=FiO₂ Set+(SpO₂ Base−SpO₂ Adjust Level)*(FiO₂ Base/100)  (20)

[0125] The logic of FIG. 17 then ends and processing returns to FIG. 14.

[0126] Returning to FIG. 14, after the appropriate processing has beenperformed based on the SpO₂ level (hypoxemia in block 452, hyperoxemiain block 454 or normoxemia in block 456), the logic of FIG. 14 ends andprocessing returns to FIG. 8.

[0127] Returning to FIG. 8, if closed-loop control is not enabled (no indecision block 272), the logic moves to block 274 where FiO₂ Set is setto FiO₂ Backup. Next, the logic moves to block 276 where the user isalerted. Regardless of whether closed-loop control is enabled (decisionblock 272), the logic proceeds to decision block 278 where a test ismade to determine if FiO₂ Base Calc is enabled. If so, the logic movesto block 280 where FiO₂ Base Determination is performed as shown indetail in FIG. 18 and described next.

[0128]FIG. 18 illustrates in detail exemplary logic for performing FiO₂Base Determination in accordance with the present invention. When FiO₂Base Calc is enabled, the algorithm automatically updates the basaloxygen when specific conditions are met as shown in FIG. 18. Inexemplary embodiments, when FiO₂ Base Calc is enabled by the user, thealgorithm averages five minutes (not necessarily continuous) worth ofFiO₂ Set values occurring during specific conditions. The calculatedaverage for FiO₂ Base is limited to +/−10% of the current FiO₂ Basevalue. The newly calculated FiO₂ Base value is averaged with the currentFiO₂. Base value. The resulting value is the new FiO₂ Base value. Theaverage interval duration is five minutes. This parameter can bemodified according to the patient condition, either as a system default,by the user or automatically.

[0129] The logic of FIG. 18 moves from a start block to decision block620 where a test is made to determine if there are conditions for FiO₂Base. Exemplary conditions for inclusion of current FiO₂ Set value inFiO₂ base determination are:

[0130] SpO₂ in Normoxemia AND SpO₂ Normoxemia Counter>SpO₂ NormoxemiaBase Min(e.g., 30 sec)

[0131] OR

[0132] SpO₂ in Hyperoxemia AND FiO₂ Set=FiO₂ Min AND FiO₂ MinCounter>FiO₂ Base Min (e.g., 30 sec)

[0133] OR

[0134] SpO₂ in Hypoxemia AND FiO₂ Set=FiO₂ Max AND FiO₂ Max Counter>FiO₂Base Max (e.g., 60 sec)

[0135] OR

[0136] SpO₂ in Hyperoxemia AND FiO₂ Set<FiO₂ Base AND SpO₂ HyperoxemiaCounter>SpO₂ High wean interval (e.g., 30 sec)

[0137] OR

[0138] SpO₂ in Hypoxemia AND FiO₂ Set>FiO₂ Base AND SpO₂ HypoxemiaCounter>SpO₂ Low Alarm Limit (e.g., 60 sec).

[0139] In exemplary embodiments, at least one of the followingconditions must be met to include a specific FiO₂ value in thecalculation of FiO₂ base:

[0140] (1) Current SpO₂ should be in normoxemia and SpO₂ has been innormoxemia for at last 30 seconds (base min);

[0141] (2) Current SpO₂ should be in hyperoxemia and FiO₂ is at the FiO₂minimum level and FiO₂ has been at the minimum FiO₂ level for at least30 seconds (base min);

[0142] (3) Current SpO₂ should be in hypoxemia and FiO₂ is at the FiO₂max level and FiO₂ has been at the max FiO₂ level for at least 60seconds (base max);

[0143] (4) Current SpO₂ in Hyperoxemia and current FiO₂ is below FiO₂base and SpO₂ has been in hyperoxemia longer than 30 seconds; or

[0144] (5) Current SpO₂ in Hypoxemia and current FiO₂ is above FiO₂ Baseand SpO₂ has been in hypoxemia longer than 60 seconds.

[0145] If conditions for FiO₂ base exist, the logic moves to block 622where FiO₂ Base Counter is incremented using the following equation:

FiO₂ Base=FiO₂ Base+FiO₂ Set  (21)

[0146] Regardless of the outcome of decision block 620, the logicproceeds to decision block 624 where a test is made to determine ifthere are 5 minutes (or whatever value is specified) of FiO₂ data. Ifso, the logic moves to block 626 where FiO₂ Base is averaged and set tobe within the specified limit (e.g., +/−10%) of the current FiO₂ Base.FiO₂ Base Counter is reset to zero. The logic then moves to block 628where the new and current FiO₂ Base values are averaged and set to bewithin the Max and Min settings. The logic of FIG. 18 then ends andprocessing returns to FIG. 8.

[0147] Returning to FIG. 8, regardless of whether FiO₂ Base Calc isenabled (decision block 278), the logic proceeds to block 282 where FiO₂Set checking is performed as shown in detail in FIG. 19 and describednext.

[0148]FIG. 19 illustrates exemplary logic for performing FiO₂ Setchecking in accordance with the present invention. The logic of FIG. 19ensures that FiO₂ Set is within the allowable range. If it is determinedin decision block 630 that FiO₂ Set is greater than FiO₂ Max, FiO₂ Setis set to FiO₂ Max in block 632. If it is determined in decision block634 that FiO₂ Set is less than FiO₂ Min, FiO₂ Set is set to FiO₂ Min inblock 636. The logic of FIG. 19 then ends and processing returns to FIG.8.

[0149] Returning to FIG. 8, the logic proceeds to block 284 where FiO₂Base/Backup checking is performed as shown in detail in FIG. 20 anddescribed next.

[0150]FIG. 20 illustrates exemplary logic for performing FiO₂Base/Backup checking in accordance with the present invention. New FiO₂Base and Backup values determined by the algorithm or set by the userare checked to ensure that they fall within the minimum and maximumranges. If they don't, the user is alerted. In exemplary embodiments, ifthe value is not within acceptable limits, the value is set to anappropriate value. The logic of FIG. 20 alerts the user (block 642) ifit is determined that FiO₂ Base is greater than 5% or if FiO₂ Base isequal to FiO₂ Max as determined in decision block 640.

[0151] Similarly, if it is determined in decision block 644 that FiO₂Backup is greater than 50% or FiO₂ Backup is equal to FiO₂ Max, the useris alerted in block 646. The logic of FIG. 20 then ends and processingreturns to FIG. 8.

[0152] Returning to FIG. 8, the logic then proceeds to block 286 whereFiO₂ Set Output Control to Mixer. Once the new FiO₂ value is confirmed,the updated FiO₂ Set value should be passed to the output routine thatcontrols the air-oxygen blender. In exemplary embodiments, the outputroutine outputs a specific voltage to drive an external blender. Invarious embodiments, additional monitoring is provided to ensure correctmixing by monitoring data from a built-in FiO₂ analyzer. The logic ofFIG. 8 then ends and processing returns to FIG. 6.

[0153]FIG. 21 illustrates an exemplary graphical user interface 700. Theexemplary user interface 700 shown in FIG. 21 displays SpO₂ and FiO₂parameters over a period of time. In an exemplary embodiment, the lastfive minutes and thirty minutes of data are displayed simultaneously. Itwill be appreciated that various other user displays are possible, forexample in alternate embodiments, the user can select the timeinterval(s) for display data. The user interface also allows the user tointeractively change various parameters. More specifically, theexemplary user interface 700 shown in FIG. 21 displays:

[0154] the current SpO₂ value read by the oximeter 702;

[0155] five minutes of tracing of SpO₂ at 60 second divisions 704;

[0156] the current FiO₂ set at the blender 706;

[0157] five minutes of tracing of FiO₂ Set values at 60 second divisions708;

[0158] 30 minutes of tracing of SpO₂ Read and FiO₂ Set values at fiveminute divisions 710;

[0159] the SpO₂ level (e.g., 0=normoxemia, 1=hypoxemia and2=hyperoxemia) 712;

[0160] the previous SpO₂ level 714;

[0161] the calculated SpO₂ Slope 716;

[0162] the calculated SpO₂ trend based on SpO₂ slope magnitude 718;

[0163] an SpO₂ high counter (hyperoxemia) 720;

[0164] an SpO₂ normal counter (normoxemia) 722;

[0165] an SpO₂ low counter (hypoxemia) 724;

[0166] is an SpO₂ low counter for the range of 85%−the low SpO₂ limit726;

[0167] an SpO₂ low counter for the range of 75%-85% 728;

[0168] an SpO₂ low counter for the range of less than 75% 730;

[0169] an SpO₂ High Limit of the target range 732;

[0170] an SpO₂ Low Limit of the target range 734;

[0171] an SpO₂ signal OK counter 736;

[0172] an SpO₂ signal OUT counter 738;

[0173] a control button 744 which is the main switch to start closedloop adjustments (i.e., when OFF, FiO₂ is at backup level);

[0174] a record button 746 which is used to record certain parameters(e.g., write to a file);

[0175] an FiO₂ Base Cal switch 750 which is switched on and off tocalculate the basal oxygen requirement;

[0176] the FiO₂ Base value 752;

[0177] a FiO₂ Base counter 754 which is used when FiO₂ Base Calc isenabled;

[0178] an FiO₂ backup value 756; and

[0179] an FiO₂ Minimum level 758.

[0180] As discussed earlier, the user can modify various parameters atany time. For example, in the exemplary embodiment shown in FIG. 21, theuser can use the arrows to modify the values for the associatedparameters.

[0181] Additional modifications and improvements of the presentinvention may also be apparent to those of ordinary skill in the art.Thus, the particular parts described and illustrated herein is intendedto represent only one embodiment of the present invention, and is notintended to serve as limitations of alternative devices within thespirit and scope of the invention.

What is claimed is:
 1. A method for adjusting fractionally inspiredoxygen delivery to a patient in response to receiving an arterialhemoglobin oxygen saturation signal, said method comprising: a.specifying a plurality of hemoglobin oxygen saturation levels; b.reading the arterial hemoglobin oxygen saturation signal; c. determiningif the arterial hemoglobin oxygen saturation signal is a valid signal;d. if the hemoglobin oxygen saturation signal is a not a valid signal,determining a value for the fractionally inspired oxygen delivery to thepatient based on backup value; e. if the hemoglobin oxygen saturationsignal is a valid signal, i. determining the hemoglobin oxygensaturation level based on the arterial hemoglobin oxygen saturationsignal; ii. determining a trend by calculating a slope using a pluralityof recent hemoglobin oxygen saturation signals; iii. if a closed loopmode is enabled, determining the fractionally inspired oxygen to deliverto the patient based on the hemoglobin oxygen saturation level and thetrend; iv. if the closed loop mode is not enabled, determining thefractionally inspired oxygen to deliver to the patient based on thebackup value; and f. delivering the fractionally inspired oxygen to thepatient.
 2. The method of claim 1, wherein the fractionally inspiredoxygen is continuously delivered to the patient by repeating b-f.
 3. Themethod of claim 1, further comprising providing a user interface.
 4. Themethod of claim 3, wherein the user interface provides a status display.5. The method of claim 3, wherein the user interface allows the user toupdate a plurality of settings.
 6. The method according to claim 3,wherein the user interface displays a user alert.
 7. The method of claim1, wherein specifying the plurality of hemoglobin oxygen saturationlevels further comprises: a. specifying a normoxemic target range; b.specifying a hyperoxemic range; and c. specifying a hypoxemic range. 8.The method of claim 7, wherein determining the fractionally inspiredoxygen to deliver to the patient comprises increasing the amount offractionally inspired oxygen delivered to the patient in response toreceiving an arterial oxygen-hemoglobin oxygen saturation signal valueless than the normoxemic target range for a specified amount of time. 9.The method of claim 7, wherein determining the fractionally inspiredoxygen to deliver to the patient comprises decreasing the amount offractionally inspired oxygen delivered to the patient in response toreceiving an arterial oxygen-hemoglobin oxygen saturation signal valuegreater than the normoxemic target range for a specified amount of time.10. The method of claim 1, wherein determining the backup value for thefractionally inspired oxygen delivery to the patient comprisesmaintaining the amount of fractionally inspired oxygen delivered to thepatient until the signal is restored.
 11. The method according to claim1, further comprising calculating a plurality of slopes simultaneously.12. The method according to claim 1, further comprising weaning thefractionally inspired oxygen delivered to the patient.
 13. The methodaccording to claim 1, wherein the closed loop mode is user selectable.14. A system for automatically adjusting fractionally inspired oxygendelivery to a patient, said system comprising: a. a device fordetermining arterial hemoglobin oxygen saturation for the patient,wherein said device outputs a signal specifying said arterial hemoglobinoxygen saturation; b. a device for delivering the fractionally inspiredoxygen to the patient; and c. a computer algorithm, wherein saidcomputer algorithm, determines an appropriate fractionally inspiredoxygen value and communicates the appropriate fractionally inspiredoxygen value to the device for delivering the fractionally inspiredoxygen to the patient.
 15. The system according to claim 14, wherein thedevice for determining arterial hemoglobin oxygen saturation for thepatient is a pulse oximeter.
 16. The system according to claim 14,wherein the device for delivering the fractionally inspired oxygen tothe patient is a mechanical ventilator.
 17. A computer readable mediumhaving an executable component for adjusting fractionally inspiredoxygen delivery for a patient in response to receiving an arterialhemoglobin oxygen saturation signal, wherein the executable componentcontains computer-executable instruction for: a. specifying a pluralityof hemoglobin oxygen saturation levels; b. reading the arterialhemoglobin oxygen saturation signal; c. determining if the arterialhemoglobin oxygen saturation signal is a valid signal; d. if thehemoglobin oxygen saturation signal is a not a valid signal, determininga value for the fractionally inspired oxygen delivery to the patientbased on backup value; e. if the hemoglobin oxygen saturation signal isa valid signal, i. determining the hemoglobin oxygen saturation levelbased on the arterial hemoglobin oxygen saturation signal; ii.determining a trend by calculating a slope using a plurality of recenthemoglobin oxygen saturation signals; iii. if a closed loop mode isenabled, determining the fractionally inspired oxygen to deliver to thepatient based on the hemoglobin oxygen saturation level and the trend;iv. if the closed loop mode is not enabled, determining the fractionallyinspired oxygen to deliver to the patient based on the backup value; andf. delivering the fractionally inspired oxygen to the patient.